/*
 * PassLogger.h
 *
 *  Created on: Oct 9, 2014
 *      Authors: Avihay Avitan & Stefan Farcas
 */

#ifndef PASSLOGGER_H_
#define PASSLOGGER_H_

#include "../GSLogger/Logger.h"
#include "../utils/StringUtils.h"
#include <string>
using namespace std ;

namespace LoggerNameSpace {

/**
 * PassLogger is a class that implements logging functionality to log file for specific satellite-pass occurrence
 * see [Logger] section in core.ini file
 */
class PassLogger {

public:
	PassLogger (string satId, long passTime) ;
	virtual ~PassLogger () ;
	void logInfo (ProgressStatus status);
	void logInfo (ProgressStatus status, bool logToGSFile);
	void logInfo (ProgressStatus status, LoggingColor color, bool logToGSFile);
	void logError (ProgressStatus status, bool logToGSFile);
	void logWarning (ProgressStatus status, bool logToGSFile);
	void logInfoCR(ProgressStatus status, LoggingColor color, bool isFirst, bool logToGSFile);
	string getFileName();

private:
	Logger * logger;
	Logger * gsLogger;
	string fileName;

} ;

} /* namespace LoggerNameSpace */

#endif /* PASSLOGGER_H_ */
